home *** CD-ROM | disk | FTP | other *** search
/ PC Media 22 / PC MEDIA CD22.iso / share / prog / patrn_oa / patterns.doc < prev    next >
Text File  |  1995-08-29  |  9KB  |  219 lines

  1.                            ╔════════════════════════╗
  2.                            ║ PATTERNS DOCUMENTATION ║
  3.                            ╚════════════════════════╝
  4.  
  5.  
  6.     ┌──────────┐
  7.     │ Overview │
  8.     └──────────┘
  9.     PATTERNS helps you quickly create and edit 8 byte user-defined patterns
  10.     to be used in the setfillpattern() function. The program works much like
  11.     an icon editor. You click on an editing grid to create/edit a pattern.
  12.     A sample of the pattern is displayed and results are updated immediately.
  13.     The program also shows the hex code that is being generated.
  14.  
  15.     You can create and edit 24 patterns and save them to a file. The program
  16.     features a color bar so you can quickly pick the pattern color. When the
  17.     pattern is saved to a file, the program will remember its unique color,
  18.     and display it in that color the next time it is loaded.
  19.  
  20.     PATTERNS displays miniatures of all 24 patterns. To edit a pattern, just
  21.     double-click on its miniature. The program will also write an annotated
  22.     code file for all of the patterns.
  23.  
  24.     THIS PROGRAM IS SHAREWARE, AND TOOK MANY HOURS TO DEVELOP. IF YOU FIND
  25.     PATTERNS USEFUL, KINDLY CONTRIBUTE TO THE SHAREWARE SPIRIT.
  26.  
  27.  
  28.  
  29.     ┌───────────────────────────────┐
  30.     │ The setfillpattern() Function │
  31.     └───────────────────────────────┘
  32.     setfillpattern(char *pattern, int color) sets the current fill pattern to
  33.     a user-defined 8x8 pixel pattern. The pixel pattern is determined by the
  34.     char *pattern array. This char array consists of 8 bytes. Each byte will
  35.     determine a row in the pattern.
  36.  
  37.     Whenever a bit in a pattern's byte is set to 1, the corresponding pixel
  38.     is plotted. For example, the following user-defined fill pattern displays
  39.     a checkerboard:
  40.  
  41.     char pattern[8] =
  42.       {
  43.       0xAA,   /* 10101010  =  █ █ █ █   */
  44.       0x55,   /* 01010101  =   █ █ █ █  */
  45.       0xAA,   /* 10101010  =  █ █ █ █   */
  46.       0x55,   /* 01010101  =   █ █ █ █  */
  47.       0xAA,   /* 10101010  =  █ █ █ █   */
  48.       0x55,   /* 01010101  =   █ █ █ █  */
  49.       0xAA,   /* 10101010  =  █ █ █ █   */
  50.       0x55    /* 01010101  =   █ █ █ █  */
  51.       };
  52.     ┌────────────────────────────────┐
  53.     │ Designing Patterns is Painful! │
  54.     └────────────────────────────────┘
  55.     As you can see from the above brief explanation, there is nothing obvious
  56.     that predicts what pattern will be generated by the pattern[]'s hex bytes.
  57.     Without the PATTERNS program, one would have to know the bit sequence that
  58.     was desired, and then which hex number it corresponded to. Lots of trial
  59.     and error. But this is no longer an issue! PATTERNS takes care of all the
  60.     background work and details, leaving you free to use your imagination.
  61.  
  62.  
  63.     ┌────────────────────────────────┐
  64.     │ How to Create a Pattern Design │
  65.     └────────────────────────────────┘
  66.     When PATTERNS first loads, the editing box (displayed as an 8x8 grid)
  67.     contains Pattern #1 of Set #1 (which is empty until you save a pattern
  68.     to this pattern set). Each row in the box corresponds to a byte in the
  69.     char Pattern[8] array, and each cell in a given row represents a bit.
  70.  
  71.     To turn a bit ON, just click on it with the left mouse button. To turn it
  72.     OFF, use the right mouse button. It's that simple! Note: you can drag the
  73.     mouse across cells to quickly turn them ON or OFF. To change a pattern's
  74.     color, click on the color bar. The default color is WHITE.
  75.  
  76.     As you create or edit a pattern, a sample of the pattern is displayed and
  77.     will be updated as you make changes. Note also that PATTERNS displays the
  78.     actual hex values generated in the Pattern[] array as you make changes.
  79.     You can view a full-screen pattern sample by clicking on the Zoom button.
  80.     The Clear pushbutton will clear the editing box, letting you start over.
  81.  
  82.  
  83.     ┌───────────────────────┐
  84.     │ How to Save a Pattern │
  85.     └───────────────────────┘
  86.     Saving a pattern is simple. Just click on the Save pushbutton. PATTERNS
  87.     will write the Pattern[] array to a binary file called PATTERNS.DAT. This
  88.     file is read each time that PATTERNS is loaded, letting you view and edit
  89.     patterns at any time in the future.
  90.  
  91.  
  92.     ┌───────────────────────┐
  93.     │ How to Edit a Pattern │
  94.     └───────────────────────┘
  95.     PATTERNS supports 24 user-defined patterns. Miniature samples are shown
  96.     in sets of 12. To edit a pattern, just double-click on the miniature. The
  97.     program will import the pattern into the editing box. You can always tell
  98.     which pattern is currently selected. The frame around the miniature sample
  99.     will be highlighted.
  100.  
  101.     You can quickly switch between the 2 sets of 12 patterns by clicking on
  102.     the More pushbutton. IMPORTANT!!! BE SURE TO SAVE YOUR WORK BEFORE YOU
  103.     IMPORT A NEW PATTERN INTO THE EDITING BOX.
  104.     ┌───────────────────────┐
  105.     │ Generating C/C++ Code │
  106.     └───────────────────────┘
  107.     Of course, the whole purpose of this program is to create patterns that
  108.     you can use in your program. PATTERNS will generate an ASCII file called
  109.     PATTERN.CPP that contains the code for the current pattern. Just click on
  110.     the C++ pushbutton. Here is a sample of a typical PATTERN.CPP file:
  111.  
  112.         // Code for Pattern #1, pattern set #2
  113.         char Pattern[8] = {0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55, 0xaa, 0x55};
  114.         setfillpattern(Pattern, 11);
  115.  
  116.         /*            HEX      BINARY      RESULT
  117.         ------------------------------------------
  118.         Pattern[0]    0xaa    10101010    █ █ █ █ 
  119.         Pattern[1]    0x55    01010101     █ █ █ █
  120.         Pattern[2]    0xaa    10101010    █ █ █ █ 
  121.         Pattern[3]    0x55    01010101     █ █ █ █
  122.         Pattern[4]    0xaa    10101010    █ █ █ █ 
  123.         Pattern[5]    0x55    01010101     █ █ █ █
  124.         Pattern[6]    0xaa    10101010    █ █ █ █ 
  125.         Pattern[7]    0x55    01010101     █ █ █ █
  126.         */
  127.  
  128.  
  129.     ┌─────────────────┐
  130.     │ Sample Patterns │
  131.     └─────────────────┘
  132.     PATTERNS comes with a number of sample patterns. They are located in the
  133.     2nd set of 12 patterns. To see or edit them, hit the More pushbutton.
  134.  
  135.  
  136.     ┌──────────────────────┐
  137.     │ The Shareware Spirit │
  138.     └──────────────────────┘
  139.     This program is considered shareware. Please feel free to distribute
  140.     this program AS LONG AS IT IS KEPT INTACT. If you find this program
  141.     useful, a $7.00 donation would be greatly appreciated. Fill out the
  142.     registration form (PATTERNS.REG) and send it to:
  143.  
  144.                               Onik Arian
  145.                               1205 Church Street
  146.                               Ventura, CA 93001
  147.  
  148.  
  149.     If you have any questions, comments, or suggestions write me or
  150.     contact me via CompuServe 70671,507.
  151.     ┌────────────────┐
  152.     │ PATTERNS Files │
  153.     └────────────────┘
  154.  
  155.     PATTERNS.EXE     The main program
  156.     PATTERNS.DAT     A binary file that stores the 24 user-defined patterns
  157.     PATTERNS.DOC     This documentation file (obviously!)
  158.     PATTERNS.REG     User registration form
  159.     PATTERNS.LST     List of all PATTERNS files
  160.      PATTERN.CPP     The generated code file for a user-defined pattern
  161.  
  162.  
  163.  
  164.                       PATTERNS REGISTRATION FORM 
  165.  
  166.  
  167.  
  168.  
  169.           Name     ___________________________________                        
  170.  
  171.           Address  ___________________________________                        
  172.  
  173.           City     ___________________________________
  174.  
  175.           State    _________
  176.  
  177.           ZIP      _________                                                  
  178.  
  179.           CompuServe # _______________________________
  180.  
  181.  
  182.  
  183.  
  184.  
  185.           Kindly send a check for $7.00, payable to:
  186.  
  187.           Onik Arian
  188.           1205 Church Street
  189.           Ventura, CA 93001
  190.           CompuServe 70671,507
  191.  
  192.  
  193.  
  194.  
  195.      Comments:
  196.  
  197.      _________________________________________________________________
  198.  
  199.      _________________________________________________________________
  200.  
  201.      _________________________________________________________________
  202.  
  203.      _________________________________________________________________
  204.  
  205.      _________________________________________________________________
  206.  
  207.      _________________________________________________________________
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.      NO WARRANTY AS TO THE FITNESS OR USEABILITY OF THIS PROGRAM IS
  216.      EITHER EXPRESSED OR IMPLIED. THE USER ASSUMES THE ENTIRE RISK OF
  217.      USING THIS PROGRAM.
  218.  
  219.